Multimedia data management and delivery is a complex, computer and memory intensive, task. As used herein, “multimedia” data refers to combinations of sound, graphics, animation, text, and video data, which may be linked in an associative system of storage and retrieval, which may be interactive, and which may be linked to other media.
A multimedia content management system needs to manage a large volume of disparate data, including unstructured data as well as structured data. The structured data often include “metadata” that describe the unstructured data so that the latter can be organized, grouped and correlated in various ways, searched, retrieved, and administered. Within a content management system, a relational database management system (RDBMS) is often used to manage these structured data so that off-the-shelf RDBMS data management technologies can be leveraged. However, the type of the unstructured data, that is, multimedia content, differs from application to application.
Because the type of data (including its schema, metadata, applicable extenders, and the like) differs between applications and content data models (as streaming, graphical, visual, video, audio, text, numeric), a different database design is needed to support the metadata and schema database of each application and data model. Heretofore, it was not possible to support different content management applications using different content data models with a single, general-purpose content management system. Such a system could not have a pre-designed, i.e., “one size fits all,” database management system. Rather, the content management system must have been provided with the capability of allowing an application developer to describe the required structured data so that a database with a suitable design could be created for that application. This description was normally expressed in the abstraction of a high-level data model supported by the content management system, usually through an application programming interface (API) or a graphical user interface (GUI). While this high-level data model provided the flexibility to support more than one application, it also limited the coverage to only those applications that could be expressed in that particular high level model.
The data model is an essential aspect of a content management system because it determines the potential capability of the system as well as its limitations. However, while a data model can sometimes be expanded somewhat, such an expansion is usually very limited and will not be able to capture a different paradigm, especially one with an incompatible or even conflicting concept.
Thus, a clear need exists for an extensible and scalable data model that readily supports a wide range of disparate content data models, and which can be readily implemented in a system or program product.
A further need exists for a tool, tool kit, tool set, or wizard to create and populate a relational database of disparate content schema and metadata, for an extensible and scalable content management RDBMS.